home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3dm / audiofile / AFgetloopids.z / AFgetloopids
Encoding:
Text File  |  1998-10-20  |  5.9 KB  |  133 lines

  1.  
  2.  
  3.  
  4. aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm))))                                            aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      afGetLoopIDs - get a number and list of loop ID's for an instrument
  10.      configuration
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////aaaauuuuddddiiiiooooffffiiiilllleeee....hhhh>>>>
  14.  
  15.      iiiinnnntttt aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((AAAAFFFFffffiiiilllleeeehhhhaaaannnnddddlllleeee ffffiiiilllleeee,,,, iiiinnnntttt iiiinnnnssssttttiiiidddd,,,, iiiinnnntttt llllooooooooppppiiiiddddssss[[[[]]]]))))
  16.  
  17. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR
  18.      _f_i_l_e      expects an AAAAFFFFffffiiiilllleeeehhhhaaaannnnddddlllleeee structure, created when an audio file
  19.                is opened by a call to aaaaffffOOOOppppeeeennnnFFFFiiiilllleeee(3dm) or its equivalent.
  20.  
  21.      _i_n_s_t_i_d    is an integer which identifies a chunk of instrument parameters
  22.                contained in _f_i_l_e.  Since the number of supported inst chunks
  23.                varies with file format, applications should always retrieve
  24.                this value via aaaaffffGGGGeeeettttIIIInnnnssssttttIIIIDDDDssss(3dm).
  25.  
  26.      _l_o_o_p_i_d_s   is an array of integer locations used to return a list of
  27.                (unique) positive loop id's for the given instrument chunk.  If
  28.                _l_o_o_p_i_d_s is a null pointer, aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) simply returns the
  29.                number of loops for the given instrument.
  30.  
  31. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  32.      aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) returns a nonnegative integer count of the number of loop
  33.      structures in the specified instrument chunk.  You use this value to
  34.      determine the size of an array which you pass back to aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))).
  35.  
  36.      For AIFF-C (and AIFF) files, the number of loop structures in the
  37.      AAAAFFFF____DDDDEEEEFFFFAAAAUUUULLLLTTTT____IIIINNNNSSSSTTTT chunk is always 2: a sustain loop and a release loop.
  38.      For other file formats, this number may vary from 0 to an unlimited
  39.      quantity.
  40.  
  41. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  42.      aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) reports the number of loops for _i_n_s_t_i_d, and supplies a
  43.      list of unique positive id's for the loops in _l_o_o_p_i_d_s[].
  44.  
  45.      Typically, you call aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) twice.  The first time, you pass it a
  46.      null _l_o_o_p_i_d_s pointer and just check the return value.  This value tells
  47.      you how many locations to allocate in the _l_o_o_p_i_d_s[] array, which you pass
  48.      back to aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss(((()))) to obtain a list of loop ID's.
  49.  
  50.      You can then use these id's to reference the individual loops and obtain
  51.      information about them such as play mode, start and end points (see
  52.      aaaaffffGGGGeeeettttLLLLooooooooppppSSSSttttaaaarrrrtttt(3dm)), and for some formats, the loop count (see
  53.      aaaaffffGGGGeeeettttLLLLooooooooppppCCCCoooouuuunnnntttt(3dm)).
  54.  
  55. NNNNOOOOTTTTEEEE
  56.      For AIFF-C (and AIFF), you can obtain loop ID's for the sustain and
  57.      release loops in the instrument map directly by calling
  58.      aaaaffffGGGGeeeettttIIIInnnnssssttttPPPPaaaarrrraaaammmmLLLLoooonnnngggg(3dm) with the parameters AAAAFFFF____IIIINNNNSSSSTTTT____SSSSUUUUSSSSLLLLOOOOOOOOPPPPIIIIDDDD and
  59.      AAAAFFFF____IIIINNNNSSSSTTTT____RRRREEEELLLLLLLLOOOOOOOOPPPPIIIIDDDD.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm))))                                            aaaaffffGGGGeeeettttLLLLooooooooppppIIIIDDDDssss((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74. CCCCAAAAVVVVEEEEAAAATTTTSSSS
  75.      These functions may return any number of loops within an inst, not just
  76.      the fixed value of 2 current found in AIFF/AIFF-C files.  Other supported
  77.      file formats have different loop configurations than those in AIFF/AIFF-
  78.      C.  Applications may use the aaaaffffQQQQuuuueeeerrrryyyy(3dm) system to determine whether a
  79.      format supports loops and if so, the number allowed.  A program should be
  80.      written to expect and ignore loop configurations it does not understand.
  81.  
  82. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  83.      afOpenFile(3dm), afInitLoopIDs(3dm), afGetInstParamLong(3dm),
  84.      afGetLoopStart(3dm)
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.